#include "swegl/math.h"

namespace swegl
{

Vec3 AABox::corner(Corner cornerIndex) const
{
	switch(cornerIndex)
	{
		case CornerFarLeftBottom:
			return m_min;
		case CornerFarLeftTop:
			return Vec3(m_min.x, m_max.y, m_min.z);
		case CornerFarRightTop:
			return Vec3(m_max.x, m_max.y, m_min.z);
		case CornerFarRightBottom:
			return Vec3(m_max.x, m_min.y, m_min.z);
		case CornerNearRightBottom:
			return Vec3(m_max.x, m_min.y, m_max.z);
		case CornerNearLeftBottom:
			return Vec3(m_min.x, m_min.y, m_max.z);
		case CornerNearLeftTop:
			return Vec3(m_min.x, m_max.y, m_max.z);
		case CornerNearRightTop:
			return m_max;
		default:
			sweglAssert(false);
			return Vec3::Zero;
	}
}

}
